//
//  MZInfosViewController.m
//  Mehfile Zainab
//
//  Created by Sitara Badourali on 12/02/12.
//  Copyright 2012 CFA de Bobigny - COIFFURE. All rights reserved.
//

#import "MZInfosViewController.h"
#import "MZMapViewController.h"

#define FONT_SIZE 22.0f
#define CELL_CONTENT_WIDTH 320.0f
#define CELL_CONTENT_MARGIN 1.0f

@implementation MZInfosViewController


#pragma mark -
#pragma mark View lifecycle

-(IBAction)GoBack:(id)sender
{
	//[self dismissModalViewControllerAnimated:YES];
    [self.navigationController popToRootViewControllerAnimated:YES];
}

- (void)viewDidLoad {
    [super viewDidLoad];

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    // self.navigationItem.rightBarButtonItem = self.editButtonItem;
    
}

/*
- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
}
*/
/*
- (void)viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
}
*/
/*
- (void)viewWillDisappear:(BOOL)animated {
    [super viewWillDisappear:animated];
}
*/
/*
- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
}
*/
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/


#pragma mark -
#pragma mark Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    // Return the number of sections.
    //return <#number of sections#>;
	//return 3;
    return 2;
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    // Return the number of rows in the section.
    //return <#number of rows in section#>;
	return 1;
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
	NSString *title = nil;
	switch (section) {
		case 0:
			title = @"A propos";
			break;
		case 1:
        /*
			title = @"L'application";
			break;
		case 2:
        */
			title = nil;
			break;
		default:
			break;
	}
	return title;
}

-(NSString *)getContentforSection:(NSInteger)section {
	NSString *content = nil;
	switch (section) {
		case 0:
			content = 
			@"Mehfile Zainab est une association sous l'égide de la World Federation of KSIC. A vocation caritative, elle a pour objectif de consolider le patrimoine culturel et cultuel de la communauté Khoja Shia Ithna Asheri de Paris.";
			break;
		case 1:
        /*
			content =
			@"Application développée par Mehfile Zainab.";
			break;
		case 2:
        */
			content =
			@"Venir à Mehfile Zainab.";
			break;
		default:
			break;
	}
	return content;
}

-(NSString *)getDetailedContentforSection:(NSInteger)section {
	NSString *detailedContent = nil;
	switch (section) {
		case 0:
			detailedContent = nil;
			break;
		case 1:
        /*
			detailedContent = @"Version 1.0";
			break;
		case 2:
        */
			detailedContent = nil;
			break;
		default:
			break;
	}
	return detailedContent;
}

-(UITableViewCellStyle)getStyleforSection:(NSInteger)section {
	UITableViewCellStyle style = nil;
	switch (section) {
		case 0:
			style = UITableViewCellStyleDefault;
			break;
		case 1:
        /*
			style = UITableViewCellStyleSubtitle;
			break;
		case 2:
        */
			style = UITableViewCellStyleDefault;
			break;
		default:
			break;
	}
	return style;
}


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    
	CGSize constraint = CGSizeMake(CELL_CONTENT_WIDTH - (CELL_CONTENT_MARGIN * 2), 20000.0f);
	
	//CGSize size = [[self getContentforSection:[indexPath section]] sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
    CGSize size1 = [[self getContentforSection:[indexPath section]] sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];
	CGSize size2 = [[self getDetailedContentforSection:[indexPath section]] sizeWithFont:[UIFont systemFontOfSize:FONT_SIZE] constrainedToSize:constraint lineBreakMode:NSLineBreakByWordWrapping];
	CGSize size;
	size.width = size1.width + size2.width;
	size.height = size1.height + size2.height;
	
	//CGFloat height = MAX(size.height, 44.0f);
	CGFloat height = size.height;
	
    //if (indexPath.section == 2)
    if (indexPath.section == 1)
    {
        return height + (CELL_CONTENT_MARGIN * 20);  
    }
    
	return height + (CELL_CONTENT_MARGIN * 2);  
	
}


// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
    static NSString *CellIdentifier = @"Cell";
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        //cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
		cell = [[[UITableViewCell alloc] initWithStyle:[self getStyleforSection:[indexPath section]] reuseIdentifier:CellIdentifier] autorelease];
    }
    
    //if (indexPath.section == 2)
    if (indexPath.section == 1)
    {
        cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
    }
    
    // Configure the cell...
	cell.textLabel.numberOfLines = 0;
    cell.textLabel.lineBreakMode = NSLineBreakByWordWrapping;
    [cell.textLabel setText:[self getContentforSection:[indexPath section]]];
    [cell.detailTextLabel setText:[self getDetailedContentforSection:[indexPath section]]];
	
    return cell;
}


/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the specified item to be editable.
    return YES;
}
*/


/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
    }   
    else if (editingStyle == UITableViewCellEditingStyleInsert) {
        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
    }   
}
*/


/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/


/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
    // Return NO if you do not want the item to be re-orderable.
    return YES;
}
*/


#pragma mark -
#pragma mark Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
	[tableView deselectRowAtIndexPath:indexPath animated:YES];
	/*
	 <#DetailViewController#> *detailViewController = [[<#DetailViewController#> alloc] initWithNibName:@"<#Nib name#>" bundle:nil];
     // ...
     // Pass the selected object to the new view controller.
	 [self.navigationController pushViewController:detailViewController animated:YES];
	 [detailViewController release];
	 */
    //if (indexPath.section == 2)
    if (indexPath.section == 1)
    {
        MZMapViewController *detailViewController = [[MZMapViewController alloc] initWithNibName:@"MZMapViewController" bundle:nil];
        detailViewController.title = @"Accès Mehfile Zainab";
        
        UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]
                                          initWithTitle:@"Accueil"
                                          style:UIBarButtonItemStyleBordered
                                          target:self
                                          action:@selector(GoBack:)];
        detailViewController.navigationItem.rightBarButtonItem = barButtonItem;
        
        [self.navigationController pushViewController:detailViewController animated:YES];
        [detailViewController release];
    }
}

- (void)tableView:(UITableView *)tableView accessoryButtonTappedForRowWithIndexPath:(NSIndexPath *) indexPath {
	
    //if (indexPath.section == 2)
    if (indexPath.section == 1)
    {
        MZMapViewController *detailViewController = [[MZMapViewController alloc] initWithNibName:@"MZMapViewController" bundle:nil];
        detailViewController.title = @"Accès Mehfile Zainab";
        
        UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc]
                                          initWithTitle:@"Accueil"
                                          style:UIBarButtonItemStyleBordered
                                          target:self
                                          action:@selector(GoBack:)];
        detailViewController.navigationItem.rightBarButtonItem = barButtonItem;
        
        [self.navigationController pushViewController:detailViewController animated:YES];
        [detailViewController release];
    }
	
}

#pragma mark -
#pragma mark Memory management

- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    
    // Relinquish ownership any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
    // For example: self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}


@end

